package leetcode.tencent;

import leetcode.TreeNode;
import leetcode.TreeNodeUtil;

/**
 * @author Cheng Jun
 * Description: 给定一个二叉搜索树的根节点 root ，和一个整数 k ，请你设计一个算法查找其中第 k 个最小元素（从 1 开始计数）
 * https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/
 * @version 1.0
 * @date 2022/1/17 23:04
 */
public class kthSmallest {


    public static void main(String[] args) {

    }

    int counter = 0;
    int res = 0;
    public int kthSmallest(TreeNode root, int k) {
        dfs(root, k);
        return res;
    }

    private void dfs(TreeNode root, int k){
        if (root == null) return;
        dfs(root.left, k);
        counter++;
        if (counter == k){
            res = root.val;
        }
        dfs(root.right, k);
    }
}
